package com.mds.group.four.test;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;


public class AppDBHelper extends SQLiteOpenHelper {
	private static final String CREATE_TABLE
		= "create table app (_id integer primary key autoincrement, title text not null)";
	private static final String DROP_TABLE = "drop table if exists app";
	public AppDBHelper(Context context) {
		/*
		 * super(context, dbName, cursorFac, version);
		 * context
		 * dbName : table 을 생성할 db name
		 * cursorFac : 커서를 관리할 CursorFactory 를 사용자가 직접 만든 커스텀 CursorFactory 를 셋팅하거나 null 을 셋팅함으로
		 * 			    기본 Cursor 를 사용하게 할 수 있다.
		 * version : db version 정보로 처음에는 1로 셋팅함.
		 */
		super(context, "mydb.db", null, 1);
	}
	
	/**
	 * User 가 DB 객체를 얻기위해 getReadableDatabase() 나 getWriteableDatabase() 를 호출할 경우 DB table 이 생성되지 않은 경우
	 * onCreate(~) 가 호출됨으로 테이블 생성코드를 작성한다.
	 */
	@Override
	public void onCreate(SQLiteDatabase db) {
		/* sql 쿼리를 수행하는 메서드 */
		db.execSQL(CREATE_TABLE);
	}
	
	/**
	 * User 가 DB 객체를 얻기위해 getReadableDatabase() 나 getWriteableDatabase() 를 호출할 경우 DB table 이 생성되지 않은 경우 
	 * upgrade 를 위해 호출되는 메서드로 upgrade 를 수행할 수 있게 함.
	 */	
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		db.execSQL(DROP_TABLE);
		onCreate(db);
	}
}
